<UserControl x:Class="Microsoft.PowerShell.CmdletManagement.PsSpecCmdletParameterEntriesControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="clr-namespace:System.Windows.Data;assembly=PresentationFramework"
    xmlns:dg="http://schemas.microsoft.com/wpf/2008/toolkit"
    xmlns:s="clr-namespace:System;assembly=mscorlib"
    xmlns:local="clr-namespace:Microsoft.PowerShell.CmdletManagement" >

    <StackPanel>
        <GroupBox Header="About Advanced Parameter Set Editing Mode">
            <StackPanel>
                <TextBlock Margin="5,5,5,5" TextWrapping="Wrap">
                    To move a parameter to another parameter set (or update the values of the parameter
                    in that parameter set,) change its parameter name (or values) in the grid below.
                </TextBlock>
                <TextBlock Margin="5,5,5,20" TextWrapping="Wrap">
                    Parameters with no parameter set name exist in all parameter sets.
                </TextBlock>
            </StackPanel>
        </GroupBox>

        <!-- The Main DataGridControl is bound to a list of ParameterSetEntries. -->
        <dg:DataGrid x:Name="ParameterSetGrid" AutoGenerateColumns="False"
              ItemsSource="{Binding}"
              Height="{Binding Path=ActualHeight, ElementName=CmdletSectionContent, Mode=Default}"
              >

            <dg:DataGrid.Columns>
                <dg:DataGridTextColumn Header="Parameter Name"
                                       Binding="{Binding ParameterName}" />
                <dg:DataGridTextColumn Header="Parameter Set Name"
                                       Binding="{Binding ParameterSetName}" />
                <dg:DataGridCheckBoxColumn Header="Mandatory"
                    Binding="{Binding Mandatory}" />
                <dg:DataGridTextColumn Header="Position"
                    Binding="{Binding Position}" />
                <dg:DataGridCheckBoxColumn Header="Value From Pipeline"
                                           Binding="{Binding ValueFromPipeline}" />
                <dg:DataGridCheckBoxColumn Header="Value From Pipeline By Property Name"
                                           Binding="{Binding ValueFromPipelineByPropertyName}" />
                <dg:DataGridCheckBoxColumn Header="Value From Remaining Arguments"
                                           Binding="{Binding ValueFromRemainingArguments}" />
                <dg:DataGridTextColumn Header="Help Message"
                                       Binding="{Binding HelpMessage}" />
                <dg:DataGridTextColumn Header="Help Message Base Name"
                                       Binding="{Binding HelpMessageBaseName}" />
                <dg:DataGridTextColumn Header="Help Message Resource ID"
                                       Binding="{Binding HelpMessageResourceId}" />
            </dg:DataGrid.Columns>
        </dg:DataGrid>
    </StackPanel>
</UserControl>
